#include <stdio.h>    
#include <unistd.h>    




// int main3()    
// {    
//     fork();    
//     fork();    
//     printf("hello\n");    
//     return 0;    
// }


// int main2()
// {
//     printf("main 函数的 pid: %d, ppid: %d\n",getpid(), getppid());
//     pid_t id = fork();
//     if(id < 0){
//         printf("Error\n");
//     }
//     else if(id == 0){
//         printf("我是子进程, pid: %d, ppid: %d\n",getpid(), getppid());
//     }
//     else{
//         printf("我是父进程, pid: %d, ppid: %d\n",getpid(), getppid());
//     }
//}



int main()
{
//   while(1)
//   {
//     printf("I am a process, pid: %d, ppid: %d\n", getpid(), getppid());
//     sleep(1);
//   }
    printf("父进程运行：pid: %d ,ppid: %d\n", getpid(), getppid());
    pid_t id = fork();
    if(id == 0)
    {
        // 子进程
        int cnt = 10;
        while(1)
        {
            printf("我是子进程，pid: %d ,ppid: %d, cnt: %d\n", getpid(), getppid(), cnt);
            sleep(1);
            cnt--;
        }
    }
    else
    {
    // 父进程
        while(1)
        {
            printf("我是父进程，pid: %d ,ppid: %d\n", getpid(), getppid());
            sleep(1);
        }
    }
  
  return 0;
}
